package view;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import controler.SistemaIndumentaria;

public class AltaDeTemporada extends JFrame {
	private static final long serialVersionUID = 1L;
	private JLabel lblCodigo;
	private JTextField txtCodigo;
	private JLabel lblNombre;
	private JTextField txtNombre;
	private JLabel lblEstacionAnio;
	private JButton btnAgregar;
	private JButton btnConfirmar;
	private JButton btnCalcularPrecio;
	private JButton btnCerrar;
	private JLabel lblPrecio;
	private JLabel txtPrecio;
	private Container contenedor;
	private JComboBox<String> estacionAnio;
	
	
	
	public AltaDeTemporada(){

		
		this.setVisible(true);
		setBounds(300, 300, 450, 300);
		this.setLocationRelativeTo(null);
		this.setTitle("Agregar nueva prenda de Temporada");
		this.setLayout(new GridLayout(12,12));
		
		contenedor = this.getContentPane();
		

		lblCodigo = new JLabel();
		lblCodigo.setText("Codigo:");
		contenedor.add(lblCodigo);
		
		txtCodigo = new JTextField();
		txtCodigo.setSize(30,100);
		contenedor.add(txtCodigo);
		
		lblNombre = new JLabel();
		lblNombre.setText("Nombre:");
		contenedor.add(lblNombre);
		
		txtNombre = new JTextField();
		txtNombre.setSize(30,100);
		contenedor.add(txtNombre);
		
		lblEstacionAnio = new JLabel();
		lblEstacionAnio.setText("Estacion:");
		contenedor.add(lblEstacionAnio);
		
		estacionAnio = new JComboBox<String>();
		estacionAnio.setEnabled(true);
		estacionAnio.setModel(new DefaultComboBoxModel<String>(new String[] {"Oto�o", "Invierno", "Primavera", "Verano"}));
		estacionAnio.setSelectedIndex(-1);
		getContentPane().add(estacionAnio);
		
		btnCalcularPrecio = new JButton();
		btnCalcularPrecio.setText("Calcular Precio");
		btnCalcularPrecio.setVisible(false);
		btnCalcularPrecio.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {

				lblPrecio = new JLabel();
				lblPrecio.setText("Precio:");
				contenedor.add(lblPrecio);
				
				txtPrecio = new JLabel();
				txtPrecio.setSize(30,100);
				contenedor.add(txtPrecio);
				txtPrecio.setText(String.valueOf(SistemaIndumentaria.getInstancia().calcularPrecioPrenda(Integer.parseInt(txtCodigo.getText()))));
				
				
				btnConfirmar.setVisible(true);
			}
		});
		contenedor.add(btnCalcularPrecio);
		
		
		btnAgregar = new JButton();
		btnAgregar.setText("Agregar");
		btnAgregar.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {

				if((!txtCodigo.getText().equalsIgnoreCase(""))&&(!txtNombre.getText().equalsIgnoreCase(""))&&(estacionAnio.getSelectedItem()!=null))
				{
					if(SistemaIndumentaria.getInstancia().altaPrendaTemporada(Integer.parseInt(txtCodigo.getText()),txtNombre.getText(), estacionAnio.getSelectedItem().toString()))
					{
						AgregarMaterialYCantidad a = new AgregarMaterialYCantidad(Integer.parseInt(txtCodigo.getText()));
						a.setVisible(true);
						btnCalcularPrecio.setVisible(true);
					}
				}
				else
				{
					JOptionPane.showMessageDialog(AltaDeTemporada.this.contenedor,"Todos los campos son requeridos",
						    "Campos vacios",
						    JOptionPane.ERROR_MESSAGE); 				
				}
			}
		});
		contenedor.add(btnAgregar);
		
		btnConfirmar = new JButton();
		btnConfirmar.setText("Confirmar Prenda");
		btnConfirmar.setVisible(false);
		btnConfirmar.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {

				SistemaIndumentaria.getInstancia().confirmarPrendaTemporada(Integer.parseInt(txtCodigo.getText()));
			}
		});
		contenedor.add(btnConfirmar);
		
		btnCerrar = new JButton();
		btnCerrar.setText("Cerrar");
		contenedor.add(btnCerrar);	
		btnCerrar.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {

				AltaDeTemporada.this.setVisible(false);
			}
		});
		
	}
}